# Natural Language Processing နှင့် Large Language Models များ[[natural-language-processing-and-large-language-models]]

<CourseFloatingBanner
    chapter={1}
    classNames="absolute z-10 right-0 top-0"
/>

Transformer မော်ဒယ်တွေထဲကို မဝင်ခင်မှာ Natural Language Processing (NLP) ဆိုတာ ဘာလဲ၊ Large Language Models (LLMs) တွေက ဒီနယ်ပယ်ကို ဘယ်လို ပြောင်းလဲပစ်ခဲ့လဲ၊ ဘာကြောင့် ဒါတွေကို ကျွန်တော်တို့ ဂရုစိုက်သင့်လဲဆိုတာကို အကျဉ်းချုပ်လေး ကြည့်ရအောင်။

## NLP ဆိုတာ ဘာလဲ။[[what-is-nlp]]

<Youtube id="iNzlxWUAjd4" />

Natural Language Processing (NLP) ဆိုတာက ဘာသာဗေဒပညာရပ်နဲ့ Machine Learning နယ်ပယ်ရဲ့ ဘာသာစကားဆိုင်ရာ အားလုံးကို နားလည်ဖို့ အဓိကထားတဲ့ ဘာသာရပ်ခွဲတစ်ခု ဖြစ်ပါတယ်။ NLP လုပ်ငန်းတာဝန်တွေရဲ့ ရည်ရွယ်ချက်ကတော့ တစ်လုံးချင်းစီရဲ့ စကားလုံးတွေကို နားလည်ဖို့တင်မဟုတ်ဘဲ အဲဒီစကားလုံးတွေရဲ့ အကြောင်းအရာ (context) ကိုပါ နားလည်နိုင်ဖို့ ဖြစ်ပါတယ်။

အောက်ပါတို့ကတော့ အသုံးများတဲ့ NLP လုပ်ငန်းတာဝန်တွေနဲ့ ဥပမာအချို့ ဖြစ်ပါတယ်။

- **စာကြောင်းအပြည့်အစုံကို အမျိုးအစားခွဲခြားခြင်း (Classifying whole sentences)**- ဝေဖန်သုံးသပ်ချက်တစ်ခုရဲ့ စိတ်ခံစားမှု (sentiment) ကို ရှာဖွေခြင်း၊ email တစ်ခုက spam ဟုတ်မဟုတ် သိရှိခြင်း၊ စာကြောင်းတစ်ကြောင်းရဲ့ သဒ္ဒါမှန်ကန်မှုကို ဆုံးဖြတ်ခြင်း၊ သို့မဟုတ် စာကြောင်းနှစ်ကြောင်းက ယုတ္တိရှိရှိ ဆက်စပ်မှုရှိမရှိ ဆုံးဖြတ်ခြင်း။
- **စာကြောင်းတစ်ကြောင်းရှိ စကားလုံးတစ်လုံးစီကို အမျိုးအစားခွဲခြားခြင်း (Classifying each word in a sentence)**- စာကြောင်းတစ်ခုရဲ့ သဒ္ဒါဆိုင်ရာ အစိတ်အပိုင်းများ (နာမ်၊ ကြိယာ၊ နာမဝိသေသန) ကို ဖော်ထုတ်ခြင်း၊ သို့မဟုတ် သီးခြားအမည်များ (လူ၊ နေရာ၊ အဖွဲ့အစည်း) ကို ဖော်ထုတ်ခြင်း။
- **စာသားအကြောင်းအရာ ဖန်တီးခြင်း (Generating text content)**- အလိုအလျောက်ဖန်တီးထားသော စာသားဖြင့် မေးခွန်းတစ်ခုကို ဖြည့်စွက်ခြင်း၊ စာသားတစ်ခုရှိ ကွက်လပ်များကို ဝှက်ထားသော စကားလုံးများဖြင့် ဖြည့်ဆည်းခြင်း။
- **စာသားမှ အဖြေထုတ်ယူခြင်း (Extracting an answer from a text)**- မေးခွန်းတစ်ခုနဲ့ အကြောင်းအရာတစ်ခု ပေးထားပြီးနောက်၊ အဲဒီအကြောင်းအရာမှာ ပါဝင်တဲ့ အချက်အလက်တွေအပေါ် အခြေခံပြီး မေးခွန်းရဲ့အဖြေကို ထုတ်ယူခြင်း။
- **input စာသားတစ်ခုမှ စာကြောင်းအသစ် ဖန်တီးခြင်း (Generating a new sentence from an input text)**- စာသားတစ်ခုကို အခြားဘာသာစကားတစ်ခုသို့ ဘာသာပြန်ခြင်း၊ စာသားတစ်ခုကို အကျဉ်းချုပ်ခြင်း။

NLP ဟာ စာဖြင့်ရေးသားထားတဲ့ စာသားတွေအတွက်ပဲလို့ ကန့်သတ်ထားတာ မဟုတ်ပါဘူး။ ၎င်းဟာ အသံဖိုင်တစ်ခုရဲ့ မှတ်တမ်းကို ဖန်တီးခြင်း ဒါမှမဟုတ် ပုံတစ်ပုံကို ဖော်ပြခြင်းစတဲ့ speech recognition နဲ့ computer vision နယ်ပယ်တွေမှာ ရှုပ်ထွေးတဲ့ စိန်ခေါ်မှုတွေကိုပါ ဖြေရှင်းပေးပါတယ်။

## Large Language Models (LLMs) တွေ ပေါ်ပေါက်လာခြင်း[[rise-of-llms]]

မကြာသေးခင်နှစ်များအတွင်းမှာတော့ Natural Language Processing (NLP) နယ်ပယ်ဟာ Large Language Models (LLMs) တွေကြောင့် တော်လှန်ပြောင်းလဲမှုတွေ ကြုံခဲ့ရပါတယ်။ GPT (Generative Pre-trained Transformer) နဲ့ [Llama](https://huggingface.co/meta-llama) လို architecture တွေပါဝင်တဲ့ ဒီမော်ဒယ်တွေဟာ ဘာသာစကားလုပ်ဆောင်ခြင်း နယ်ပယ်မှာ ဖြစ်နိုင်ခြေရှိတဲ့ အရာတွေကို ပြောင်းလဲပစ်ခဲ့ပါတယ်။

> [!TIP]
> Large Language Model (LLM) ဆိုတာ များပြားလှတဲ့ စာသားဒေတာတွေနဲ့ လေ့ကျင့်ထားတဲ့ Artificial Intelligence (AI) မော်ဒယ်တစ်ခုဖြစ်ပြီး လူသားဆန်တဲ့ စာသားတွေကို နားလည်၊ ဖန်တီးနိုင်ပါတယ်။ ဘာသာစကားပုံစံတွေကို မှတ်မိနိုင်ပြီး သီးခြားလုပ်ငန်းအတွက် လေ့ကျင့်မှုမရှိဘဲ ဘာသာစကားလုပ်ငန်းမျိုးစုံကို လုပ်ဆောင်နိုင်ပါတယ်။ ၎င်းတို့ဟာ Natural Language Processing (NLP) နယ်ပယ်မှာ သိသိသာသာ တိုးတက်မှုတစ်ခုကို ကိုယ်စားပြုပါတယ်။

LLMs တွေရဲ့ ထူးခြားချက်တွေကတော့:
- **အတိုင်းအတာ (Scale)**: ၎င်းတို့မှာ parameters သန်းပေါင်းများစွာ၊ ဘီလီယံပေါင်းများစွာ သို့မဟုတ် ရာပေါင်းများစွာသော ဘီလီယံပေါင်းများစွာ ပါဝင်ပါတယ်။
- **ယေဘုယျစွမ်းရည်များ (General capabilities)**: သီးခြားလုပ်ငန်းအတွက် လေ့ကျင့်မှုမရှိဘဲ လုပ်ငန်းတာဝန်ပေါင်းများစွာကို လုပ်ဆောင်နိုင်ပါတယ်။
- **အကြောင်းအရာပေါ်မူတည်၍ သင်ယူခြင်း (In-context learning)**: prompt မှာ ပေးထားတဲ့ ဥပမာတွေကနေ သင်ယူနိုင်ပါတယ်။
- **ပေါ်ထွက်လာသော စွမ်းရည်များ (Emergent abilities)**: ဒီမော်ဒယ်တွေရဲ့ အရွယ်အစား ကြီးမားလာတာနဲ့အမျှ ၎င်းတို့ဟာ ရှင်းရှင်းလင်းလင်း programming လုပ်ထားခြင်း မရှိတဲ့ ဒါမှမဟုတ် ကြိုတင်မမျှော်လင့်ထားတဲ့ စွမ်းရည်တွေကို ပြသလာပါတယ်။

LLMs တွေ ပေါ်ပေါက်လာတာနဲ့အမျှ NLP လုပ်ငန်းတာဝန်အမျိုးမျိုးအတွက် သီးသန့်မော်ဒယ်တွေ တည်ဆောက်တဲ့ ပုံစံကနေ ဘာသာစကားလုပ်ငန်းအမျိုးမျိုးကို ဖြေရှင်းနိုင်ဖို့ prompt ပေးနိုင်တဲ့ ဒါမှမဟုတ် fine-tune လုပ်နိုင်တဲ့ မော်ဒယ်ကြီးတစ်လုံးကို အသုံးပြုတဲ့ ပုံစံကို ပြောင်းလဲသွားစေခဲ့ပါတယ်။ ဒါက အဆင့်မြင့် ဘာသာစကားလုပ်ဆောင်မှုကို ပိုမိုလက်လှမ်းမီစေခဲ့ပေမယ့် ထိရောက်မှု၊ ကျင့်ဝတ်နဲ့ အသုံးပြုမှု (deployment) စတဲ့ နယ်ပယ်တွေမှာ စိန်ခေါ်မှုအသစ်တွေကိုလည်း မိတ်ဆက်ပေးခဲ့ပါတယ်။

သို့သော် LLMs တွေမှာ အရေးကြီးတဲ့ ကန့်သတ်ချက်တွေလည်း ရှိပါတယ်။
- **ထင်ယောင်ထင်မှားဖြစ်ခြင်း (Hallucinations)**: ၎င်းတို့ဟာ မမှန်ကန်တဲ့ အချက်အလက်တွေကို ယုံကြည်မှုရှိရှိ ထုတ်လုပ်နိုင်ပါတယ်။
- **စစ်မှန်သော နားလည်မှု ကင်းမဲ့ခြင်း (Lack of true understanding)**: ၎င်းတို့ဟာ ကမ္ဘာကြီးကို စစ်မှန်စွာ နားလည်ခြင်းမရှိဘဲ စာရင်းအင်းဆိုင်ရာ ပုံစံတွေပေါ်မှာသာ လည်ပတ်ပါတယ်။
- **ဘက်လိုက်မှု (Bias)**: ၎င်းတို့ရဲ့ သင်ကြားမှုဒေတာ ဒါမှမဟုတ် inputs တွေမှာ ပါဝင်တဲ့ ဘက်လိုက်မှုတွေကို ပြန်လည်ထုတ်လုပ်နိုင်ပါတယ်။
- **Context windows ကန့်သတ်ချက် (Limited context windows)**: ၎င်းတို့မှာ ကန့်သတ်ထားတဲ့ context windows များ ရှိပါတယ်။ (ဒါပေမယ့် တိုးတက်လာနေပါပြီ)
- **ကွန်ပျူတာ အရင်းအမြစ်များ (Computational resources)**: ၎င်းတို့ဟာ ကွန်ပျူတာ အရင်းအမြစ်များစွာ လိုအပ်ပါတယ်။


## ဘာကြောင့် ဘာသာစကား လုပ်ဆောင်ခြင်း (language processing) က ခက်ခဲရတာလဲ။[[why-is-it-challenging]]

ကွန်ပျူတာတွေဟာ လူသားတွေလိုမျိုး သတင်းအချက်အလက်တွေကို လုပ်ဆောင်တာ မဟုတ်ပါဘူး။ ဥပမာအနေနဲ့ "I am hungry" ဆိုတဲ့ စာကြောင်းကို ဖတ်တဲ့အခါ ကျွန်တော်တို့က အဓိပ္ပာယ်ကို အလွယ်တကူ နားလည်နိုင်ပါတယ်။ အလားတူပဲ "I am hungry" နဲ့ "I am sad" ဆိုတဲ့ စာကြောင်းနှစ်ကြောင်း ပေးထားရင် ၎င်းတို့ ဘယ်လောက်တူညီလဲဆိုတာကို အလွယ်တကူ ဆုံးဖြတ်နိုင်ပါတယ်။ Machine Learning (ML) မော်ဒယ်တွေအတွက်တော့ ဒီလိုလုပ်ငန်းတာဝန်တွေက ပိုခက်ခဲပါတယ်။ စာသားကို မော်ဒယ်ကနေ သင်ယူနိုင်တဲ့ ပုံစံမျိုးနဲ့ လုပ်ဆောင်ဖို့ လိုပါတယ်။ ဘာသာစကားက ရှုပ်ထွေးတာကြောင့် ဒီလုပ်ငန်းစဉ်ကို ဘယ်လိုလုပ်ရမလဲဆိုတာ သေချာစဉ်းစားဖို့ လိုပါတယ်။ စာသားတွေကို ဘယ်လိုကိုယ်စားပြုမလဲဆိုတာနဲ့ ပတ်သက်ပြီး သုတေသနတွေ အများကြီးလုပ်ထားပြီး နောက်အခန်းမှာ နည်းလမ်းအချို့ကို ကြည့်ရှုသွားမှာပါ။

LLMs တွေမှာ တိုးတက်မှုတွေ ရှိလာပေမယ့်လည်း၊ အဓိပ္ပာယ်ဝေဝါးမှု၊ ယဉ်ကျေးမှုဆိုင်ရာ အကြောင်းအရာ (cultural context)၊ လှောင်ပြောင်မှု (sarcasm) နဲ့ ဟာသ (humor) တွေကို နားလည်ခြင်း စတဲ့ အခြေခံကျတဲ့ စိန်ခေါ်မှုများစွာ ကျန်ရှိနေပါသေးတယ်။ LLMs တွေက မတူညီတဲ့ ဒေတာအစုအဝေးများစွာပေါ်မှာ အကြီးအကျယ် လေ့ကျင့်ထားခြင်းဖြင့် ဒီစိန်ခေါ်မှုတွေကို ဖြေရှင်းပေမယ့်၊ ရှုပ်ထွေးတဲ့ အခြေအနေများစွာမှာ လူသားအဆင့် နားလည်မှုအထိတော့ မရောက်နိုင်သေးပါဘူး။

## ဝေါဟာရ ရှင်းလင်းချက် (Glossary)

*   **Natural Language Processing (NLP)**: ကွန်ပျူတာတွေ လူသားဘာသာစကားကို နားလည်၊ အဓိပ္ပာယ်ဖော်ပြီး၊ ဖန်တီးနိုင်အောင် လုပ်ဆောင်ပေးတဲ့ Artificial Intelligence (AI) ရဲ့ နယ်ပယ်ခွဲတစ်ခု ဖြစ်ပါတယ်။ ဥပမာအားဖြင့် စာသားခွဲခြမ်းစိတ်ဖြာခြင်း၊ ဘာသာပြန်ခြင်း စသည်တို့ ပါဝင်ပါတယ်။
*   **Large Language Models (LLMs)**: လူသားဘာသာစကားကို နားလည်ပြီး ထုတ်လုပ်ပေးနိုင်တဲ့ အလွန်ကြီးမားတဲ့ Artificial Intelligence (AI) မော်ဒယ်တွေ ဖြစ်ပါတယ်။ ၎င်းတို့ဟာ ဒေတာအမြောက်အမြားနဲ့ သင်ကြားလေ့ကျင့်ထားပြီး စာရေးတာ၊ မေးခွန်းဖြေတာ စတဲ့ ဘာသာစကားဆိုင်ရာ လုပ်ငန်းမျိုးစုံကို လုပ်ဆောင်နိုင်ပါတယ်။
*   **Transformer Models**: Natural Language Processing (NLP) မှာ အောင်မြင်မှုများစွာရရှိခဲ့တဲ့ deep learning architecture တစ်မျိုးပါ။ ၎င်းတို့ဟာ စာသားတွေထဲက စကားလုံးတွေရဲ့ ဆက်နွယ်မှုတွေကို "attention mechanism" သုံးပြီး နားလည်အောင် သင်ကြားပေးပါတယ်။
*   **Machine Learning (ML)**: ကွန်ပျူတာတွေဟာ ဒေတာတွေကနေ သင်ယူပြီး လုပ်ငန်းဆောင်တာတွေကို လူသားတွေရဲ့ ညွှန်ကြားချက်မပါဘဲ ကိုယ်တိုင်လုပ်ဆောင်နိုင်အောင် လုပ်ဆောင်ပေးတဲ့ Artificial Intelligence (AI) ရဲ့ နယ်ပယ်ခွဲတစ်ခု ဖြစ်ပါတယ်။
*   **Context**: စကားလုံး၊ စာကြောင်း သို့မဟုတ် အကြောင်းအရာတစ်ခုရဲ့ အဓိပ္ပာယ်ကို နားလည်စေရန် ကူညီပေးသော ပတ်ဝန်းကျင်ရှိ အချက်အလက်များ။
*   **Sentiment**: လူတစ်ဦးရဲ့ ခံစားချက်၊ သဘောထား ဒါမှမဟုတ် အမြင်ကို ဖော်ပြတဲ့ အရာ။ (ဥပမာ- ကောင်းတယ်၊ ဆိုးတယ်၊ ကြားနေ)
*   **Spam**: မလိုအပ်ဘဲ အစုလိုက်အပြုံလိုက် ပေးပို့သော email များ သို့မဟုတ် မက်ဆေ့ခ်ျများ။
*   **Grammatically Correct**: သဒ္ဒါစည်းမျဉ်းစည်းကမ်းများနှင့် ကိုက်ညီခြင်း။
*   **Named Entities**: စာသားတစ်ခုထဲတွင် ပါဝင်သော လူအမည်၊ နေရာအမည်၊ အဖွဲ့အစည်းအမည် သို့မဟုတ် အခြားသီးခြားအမည်များ။
*   **Text Generation**: AI မော်ဒယ်များကို အသုံးပြု၍ လူသားကဲ့သို့သော စာသားအသစ်များ ဖန်တီးခြင်း။
*   **Masked Words**: စာသားတစ်ခုထဲတွင် ဝှက်ထားသော သို့မဟုတ် ဖုံးကွယ်ထားသော စကားလုံးများ။
*   **Speech Recognition**: ပြောဆိုသော ဘာသာစကားကို ကွန်ပျူတာက စာသားအဖြစ် ပြောင်းလဲနားလည်နိုင်သည့် နည်းပညာ။
*   **Computer Vision**: ကွန်ပျူတာများကို ပုံရိပ်များ၊ ဗီဒီယိုများကို လူသားများကဲ့သို့ မြင်၊ နားလည်နိုင်အောင် သင်ကြားပေးသည့် Artificial Intelligence (AI) နယ်ပယ်။
*   **Transcript**: အသံ သို့မဟုတ် စကားပြောကို စာသားအဖြစ် ရေးသားထားခြင်း။
*   **GPT (Generative Pre-trained Transformer)**: OpenAI မှ တီထွင်ထားသော Transformer-based Large Language Model (LLM) အမျိုးအစားတစ်ခု။
*   **Llama**: Meta မှ တီထွင်ထားသော Transformer-based Large Language Model (LLM) အမျိုးအစားတစ်ခု။
*   **Parameters**: Machine Learning မော်ဒယ်တစ်ခု၏ သင်ယူနိုင်သော အစိတ်အပိုင်းများ။ ၎င်းတို့သည် လေ့ကျင့်နေစဉ်အတွင်း ဒေတာများမှ ပုံစံများကို သင်ယူကာ ချိန်ညှိပေးသည်။
*   **Prompt**: Large Language Models (LLMs) ကို တိကျသောလုပ်ငန်းတစ်ခု လုပ်ဆောင်ရန် သို့မဟုတ် အချက်အလက်ပေးရန်အတွက် ပေးပို့သော input text သို့မဟုတ် မေးခွန်း။
*   **Fine-tune**: ကြိုတင်လေ့ကျင့်ထားပြီးသား (pre-trained) မော်ဒယ်တစ်ခုကို သီးခြားလုပ်ငန်းတစ်ခု (specific task) အတွက် အနည်းငယ်သော ဒေတာနဲ့ ထပ်မံလေ့ကျင့်ပေးခြင်းကို ဆိုလိုပါတယ်။
*   **Deployment**: Machine Learning မော်ဒယ်တစ်ခုကို အမှန်တကယ် အသုံးပြုနိုင်သော စနစ် သို့မဟုတ် environment တစ်ခုထဲသို့ ထည့်သွင်းခြင်း။
*   **Hallucinations**: Artificial Intelligence (AI) မော်ဒယ်များမှ မှန်ကန်မှုမရှိသော သို့မဟုတ် အဓိပ္ပာယ်မရှိသော အချက်အလက်များကို ယုံကြည်မှုရှိရှိ ထုတ်လုပ်ပေးခြင်း။
*   **Bias**: ဒေတာအစုအဝေး (dataset) သို့မဟုတ် မော်ဒယ်၏ လေ့ကျင့်မှုပုံစံကြောင့် ဖြစ်ပေါ်လာသော ဘက်လိုက်မှုများ။
*   **Context Windows**: Large Language Models (LLMs) တစ်ခုက တစ်ပြိုင်နက်တည်း ပြန်လည်ကြည့်ရှုနိုင်သော သို့မဟုတ် စီမံဆောင်ရွက်နိုင်သော input text ၏ ပမာဏ။
*   **Computational Resources**: ကွန်ပျူတာစနစ်တစ်ခု၏ လုပ်ဆောင်နိုင်စွမ်းများ (ဥပမာ - CPU, GPU, memory, storage)။
*   **Cultural Context**: လူ့အဖွဲ့အစည်းတစ်ခု၏ ဓလေ့ထုံးတမ်းများ၊ ယုံကြည်မှုများ၊ တန်ဖိုးများနှင့် အပြုအမူများ။
*   **Sarcasm**: ပြက်ရယ်ပြုခြင်း သို့မဟုတ် ဆန့်ကျင်ဘက် အဓိပ္ပာယ်ကို ဖော်ပြရန် စကားလုံးများကို အသုံးပြုခြင်း။
*   **Humor**: ရယ်စရာကောင်းသော သို့မဟုတ် ပျော်ရွှင်စေသော အရာ။